package biblioteca.entidade;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


@Entity
public class Emprestimo implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -5965540856046220809L;

	private int id;
	private Usuario usuario;
//	private Set<Livro> livros = new HashSet<>();
	private Set<EmprestimoLivro> livros = new HashSet<>();
	private Date data;
	private String atendente;
	
	
	public Emprestimo() {
		// TODO Auto-generated constructor stub
	}

	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}

	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="usuario_id")
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
/*
	@ManyToMany(cascade=CascadeType.PERSIST)
	public Set<Livro> getLivros() {
		return livros;
	}
	public void setLivros(Set<Livro> livros) {
		this.livros = livros;
	}
*/
	
	@OneToMany(mappedBy="emprestimo", cascade=CascadeType.PERSIST)
	public Set<EmprestimoLivro> getLivros() {
		return livros;
	}
	public void setLivros(Set<EmprestimoLivro> livros) {
		this.livros = livros;
	}
	
	
	
	@Temporal(TemporalType.TIMESTAMP)
	public Date getData() {
		return data;
	}
	public void setData(Date data) {
		this.data = data;
	}

	
	public String getAtendente() {
		return atendente;
	}
	public void setAtendente(String atendente) {
		this.atendente = atendente;
	}
	
	
	

}
